// import { id } from "element-plus/es/locale";

export function deepTree(list) {
  // 定义一个空对象
  // {
  //   '1': Id为1的数据，
  //   '2': Id为2的数据，
  // }
  const map = {};
  // 定义一个空数组，作为最终的结果集合
  const result = [];
  // 遍历 list 数据，让 map 中添加内容
  list.forEach((item) => {
    // 避免修改到原数据，做一个浅拷贝
    map[item.id] = { ...item };
  });

  // 遍历 list 数据
  list.forEach((item) => {
    if (!item.parentId) {
      // 顶级数据，将其添加到 result 中
      result.push(map[item.id]);
    } else {
      // 有父级，则到 map 对象中找到它的父级，往它父级身上的 children 里面写入
      const parent = map[item.parentId];
      if (parent.children) {
        parent.children.push(map[item.id]);
      } else {
        parent.children = [map[item.id]];
      }
    }
  });

  // console.log("map", map);
  // console.log("result", result);
  // 返回结果集合
  return result;
}

export function getItemByList(list,key,value){
  return list.find((item)=>item[key]===value)
}

export function getMenusById(list,id,result=[]){
  const data = list.find((item)=>item.id===id);
  if(data){
    result.unshift(data);

    if(data.parentId){
      return getMenusById(list, +data.parentId, result)
    } else{
      return result;
    }
  } else {
    return result;
  }
}
